package com.cupk.mapper;

import com.cupk.dto.AdminDto;
import com.cupk.dto.ProviderDto;
import com.cupk.dto.ProviderListDto;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 名称ProviderMapper
 * 描述ProviderMapper
 *
 * @version 1.0
 * @author:XiongRuiKai
 * @datatime:2023-06-12 10:39
 */
@Mapper
public interface ProviderMapper {
    /**
     * 供应商申请分页查询
     * @param id 供应商编号
     * @param name 供应商姓名
     * @param tele 供应商联系方式
     * @param page 起始页码
     * @param pageSize 每页返回的数据条目数
     * @return
     */
    List<ProviderDto> getProviderPage(
            @Param("id") Integer id,
            @Param("name") String name,
            @Param("tele") String tele,
            @Param("page") int page,
            @Param("pageSize") int pageSize
    );

    /**
     * 供应商分页查询统计共有多少条数据
     * @param id 供应商编号
     * @param name 供应商姓名
     * @param tele 供应商联系方式
     * @return
     */
    int getProviderCount(@Param("id") Integer id,
                         @Param("name") String name,
                         @Param("tele") String tele
                         );

    /**
     * 供应商管理分页查询
     * @param id 供应商编号
     * @param providerName 供应商姓名
     * @param tele 供应商联系方式
     * @param page 起始页码
     * @param pageSize 一页有多少条数据
     * @return
     */
    List<ProviderListDto> getProviderListPage(
            @Param("id") Integer id,
            @Param("providerName") String providerName,
            @Param("tele") String tele,
            @Param("page") int page,
            @Param("pageSize") int pageSize
    );

    /**
     * 供应商管理分页查询统计共有多少条数据
     * @param id 供应商编号
     * @param providerName 供应商姓名
     * @param tele 供应商联系方式
     * @return
     */
    int getProviderListCount(
            @Param("id") Integer id,
            @Param("providerName") String providerName,
            @Param("tele") String tele
    );
}
